1. Field of the Invention
This invention concerns the field of interfaces for computer processing systems, and, in particular, the use of certain key combinations as "shortcuts" for implementation of defined functions.
2. Discussion of the Related Art
In many computer software applications, the software developer will assign certain key combinations as "keyboard shortcuts" which are typically used to cause the software application to implement a macro, sub-routine, object, or other defined application function. Such "keyboard shortcuts" are selected as part of the software development process. An important goal of the developer is picking keystroke combinations that are easy for users of the application to remember. To enhance recall, such keystroke combinations typically have a logical, phonetic or other association with the actual application function being called and thus are often referred to as "mnemonics". Frequently, mnemonics consist of a combination of the alternate key (ALT) and a letter key (A-Z). Examples of such mnemonics are the alternate key and letter "E" combination (ALT+E) for the "edit" menu, the alternate key and letter "F" combination (ALT+F) for the "file" menu, etc.
Keyboard shortcuts may also be implemented as "accelerators", which are similar in concept to the "mnemonics" described above and usually consist of combinations of the control, shift, alternate and letter keys, such combinations often being assigned to an application function using a logical, phonetic or other association. Note, however, that accelerators are usually assigned to application functions that are used globally, that is, used in more than one screen or possibly throughout the application. Most application functions have mnemonics. A few high usage functions also have accelerators.
In the past, software developers chose between two methods for the assignment of keyboard shortcuts (hereafter referred to as "mnemonics" and/or "accelerators") to application functions. According to the first method, a software developer generally followed his or her own intuition and/or experience to decide which key combination would be most effective. Of course some software developers are more creative than others. The typical finished software product, representing the work product of a number of developers, might therefore have a group of effectively chosen mnemonics and/or accelerators, but many poorly chosen ones.
According to the second method, a software developer might apply one or more of a group of "rules" used to a varying degree in the software industry for assigning mnemonics. Such "rules" include, for example, assigning the first letter of a function name or label to the letter portion of a mnemonic. Another rule sometimes followed is to use any consonant of the function label for a mnemonic or accelerator key assignment.
The use of either of these two methods, however, is typically a haphazard process. The rules are applied inconsistently if at all. Often the most effective rule is not used. The rules, even if they are known by the developer, will likely not be applied to all application functions. Because the assignment of mnemonics and accelerators generally holds a low priority in the hierarchy of software development activities, the process generally is not optimized. As a result, most applications typically have mnemonic and accelerator keys that may not be the most convenient or easiest to remember for application users. A substantial percentage of mnemonic and accelerator assignments could be better chosen. Indeed, it is not uncommon for duplicate mnemonics to be assigned to different functions within the same application.